Visibility quantifiers
The visibility quantifiers for functions/ state variables of a contract are
external, public, internal, and private. The external functions cannot be used
for internal calls and are meant to be called by other contracts. To call
external function within contract this.function_name() call is required.
State variables cannot be marked as external. Public functions/ variables can
be used both externally and internally. Solidity automatically creates a
getter function for the public state variable. Internal functions/ variables can
only be used internally or by derived contracts. Private functions/ variables
can only be used internally and not even by derived contracts.
An example of visibility quantifiers
pragma solidity ^ 0.5.0;
contract Apple {
uint private adata;
uint public ainfo;
constructor() public {
ainfo = 2 0;
}
function incr(uint x) private pure returns (uint) {return x +
10;}
function updateD ata(uint x) public {adata =x;}
function getD ata() public view returns(uint) {return data;}
function compute(uint x, uint y) internal pure returns (uint)
{return x + y;}
}
contract M ango {
function readD ata() public returns(uint) {
Aa = new A();
a.updateD ata(7 0);
return .getD ata();
}
}
contract Banana is Apple {
uint private result;
A private a;
constructor() public {